This notebook was written for the AWEAR Case Studies as part of a PhD project on Engineering Systems Design in Healthcare at the Engineering Systems Division, DTU Management, in collaboration with Rigshospitalet-Glostrup.

The purpose of this notebook is to provide regular reports on the data being recorded from study participants, to check that it is being recorded and looks as expected. The R script imports, tests and plots data from a specified participant and timeframe, as shown in the code and output below.

Report subject and period:

This report is for user  P13NB for the time period from  2018-05-05  to  2018-06-02

Import and restructure data:

Overview of available csv files and their current use status:

File Description Status
“activity.csv” coded activity types in use
“battery.csv” charging log in use
“bluetooth.csv” - not in use
“calllog.csv” log of phonecalls not in use
“experience_sampling.csv” answers to daily self-reports in use
“hardware_info.csv” - not in use
“location.csv” GPS data from watch and phone in use
“screen.csv” screen on/off transitions (phone) in use
“sms.csv” sms log not in use
“step_count.csv” step counts from watch and phone in use
“wearable.csv” - no longer in use
“wifi.csv” - not in use

The output below confirms which files have been imported, followed by processing steps.

activity file imported
battery file imported
calllog file imported
experience_sampling file imported
location file imported
screen file imported
sms file imported
step_count file imported

 *** 
 Processing file containing:  activity confidence 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
Complete: column 'label' created describing activity based on activity code 
Complete: activity data reduced from  13701  to  8488  rows by keeping only the max-confidence activities for each unique timestamp 

 *** 
 Processing file containing:  plugged status level 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
Complete: column 'mode' created describing charging status based on 'plugged' variable 

 *** 
 Processing file containing:  name number type duration 

User ID is not in dataset, returning NULL 

 *** 
 Processing file containing:  question_id answer 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

 *** 
 Processing file containing:  lat lon accuracy provider 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

 *** 
 Processing file containing:  screen_on 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

 *** 
 Processing file containing:  address body type read 

User ID is not in dataset, returning NULL 

 *** 
 Processing file containing:  step_count 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

Quality check: data source

Check whether data coming from watch, phone or both (also gives date of last reading).

Data in  activity comes from  phone 
Last reading in activity is on [1] "2018-05-29 04:12:33 CEST" 

Data in  battery comes from  phone 
Last reading in battery is on [1] "2018-05-29 04:12:32 CEST" 

Data in  experience_sampling comes from  phone 
Last reading in experience_sampling is on [1] "2018-05-28 18:02:13 CEST" 

Data in  location comes from  phone watch 
Last reading in location is on [1] "2018-05-29 04:18:32 CEST" 

Data in  screen comes from  phone 
Last reading in screen is on [1] "2018-05-29 03:56:24 CEST" 

Data in  step_count comes from  watch phone 
Last reading in step_count is on [1] "2018-05-29 04:12:32 CEST" 

Visualise data:

LS0tDQp0aXRsZTogJ0FXRUFSIFN0dWRpZXM6IERhdGEgQ2hlY2tlcicNCmF1dGhvcjogJ0p1bGlhIFRob3JwZScNCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQo8IS0tIENvZGUgYmFzZWQgb24gRGF0YUNoZWNrZXJfbWFpbl92Ml8yMDE4MDIyMC5SLiAtLT4NCg0KVGhpcyBub3RlYm9vayB3YXMgd3JpdHRlbiBmb3IgdGhlIEFXRUFSIENhc2UgU3R1ZGllcyBhcyBwYXJ0IG9mIGEgUGhEIHByb2plY3Qgb24gKkVuZ2luZWVyaW5nIFN5c3RlbXMgRGVzaWduIGluIEhlYWx0aGNhcmUqIGF0IHRoZSBFbmdpbmVlcmluZyBTeXN0ZW1zIERpdmlzaW9uLCBEVFUgTWFuYWdlbWVudCwgaW4gY29sbGFib3JhdGlvbiB3aXRoIFJpZ3Nob3NwaXRhbGV0LUdsb3N0cnVwLg0KDQpUaGUgcHVycG9zZSBvZiB0aGlzIG5vdGVib29rIGlzIHRvIHByb3ZpZGUgcmVndWxhciByZXBvcnRzIG9uIHRoZSBkYXRhIGJlaW5nIHJlY29yZGVkIGZyb20gc3R1ZHkgcGFydGljaXBhbnRzLCB0byBjaGVjayB0aGF0IGl0IGlzIGJlaW5nIHJlY29yZGVkIGFuZA0KbG9va3MgYXMgZXhwZWN0ZWQuIFRoZSBSIHNjcmlwdCBpbXBvcnRzLCB0ZXN0cyBhbmQgcGxvdHMgZGF0YSBmcm9tIGEgc3BlY2lmaWVkIHBhcnRpY2lwYW50IGFuZCB0aW1lZnJhbWUsIGFzIHNob3duIGluIHRoZSBjb2RlIGFuZCBvdXRwdXQgYmVsb3cuDQoNCmBgYHtyIFNFVFVQLCBpbmNsdWRlPUZBTFNFfQ0KIyBTZXQgdGhlIGRyaXZlLCBsb2FkIHBhY2thZ2VzIGFuZCBmdW5jdGlvbnMuDQoNCnNldHdkKCJNOi9QaERfRm9sZGVyL0Nhc2VTdHVkaWVzL0RhdGFfYW5hbHlzaXMvc291cmNlIikNCg0KIyBMb2FkIHJlcXVpcmVkIHBhY2thZ2VzOg0KbGlicmFyeShkYXRhLnRhYmxlKQ0KbGlicmFyeShkdHBseXIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShtYWdyaXR0cikNCmxpYnJhcnkobHVicmlkYXRlKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShyZXNoYXBlMikNCmxpYnJhcnkobWFwdG9vbHMpDQpsaWJyYXJ5KHBsb3RseSkNCmxpYnJhcnkobWFwcykNCmxpYnJhcnkobWFwcHJvaikNCmxpYnJhcnkoc3ApDQpsaWJyYXJ5KGNhVG9vbHMpDQoNCiMgTG9hZCBjdXN0b20gZnVuY3Rpb25zOg0Kc291cmNlKCJKUlRfdXRpbHMuUiIpDQoNCiMgRGVmaW5lIGNvbnN0YW50czoNCmZvbGRlciA8LSAiLi4vLi4vRGF0YV9kdW1wcy9kdW1wX2N1cnJlbnRfYW5hbHlzaXMvIiAjIHBhdGggdG8gZm9sZGVyIHRoYXQgaG9sZHMgbXVsdGlwbGUgLmNzdiBmaWxlcywgZG93bmxvYWRlZCBmcm9tIG5pZ2h0aW5nYWxlIHdlYnBvcnRhbA0Kbm90LmluLnVzZSA8LSBjKCJibHVldG9vdGgiLCJoYXJkd2FyZV9pbmZvIiwid2VhcmFibGUiLCJ3aWZpIikNCmFjdGl2aXR5LnNlbGVjdGlvbiA8LSBjKCJTdGlsbCIsICJGb290IiwgIlZlaGljbGUiLCAiVGlsdGluZyIsICJCaWN5Y2xlIikgIyBtYWluIGFjdGl2aXR5IHR5cGVzDQp0b19wbG90IDwtIGMoImFjdGl2aXR5IiwgDQogICAgICAgICAgICAgImJhdHRlcnkiLCANCiAgICAgICAgICAgICAiZXhwcyIsIA0KICAgICAgICAgICAgICJsb2NhdGlvbiIsIA0KICAgICAgICAgICAgICJzY3JlZW4iLCANCiAgICAgICAgICAgICAic3RlcHMiKQ0KdXNlcnMgPC0gbGlzdChqdWxpYSA9ICI5M2E2ZDMxYy1lMjE2LTQ4ZDgtYTlhMi1mMmY3MjM2MjU0OGQiLA0KICAgICAgICAgICAgICBkZWFuID0gImIxMzE2MjgwLTM4YTYtNDVlMS05YmI5LTdhZmIyYTFhMmE5NiIsDQogICAgICAgICAgICAgIGx1bmEgPSAiNGFmZTYxYzUtYzVjYy00ZGU0LThmNTAtOTQ5OTA1NzY2OGFkIiwNCiAgICAgICAgICAgICAgcGVyID0gIjdiZjVmZWMzLWY0NmYtNDE5ZS05NTczLTAwMWZlOWI0N2Q4MSIsDQogICAgICAgICAgICAgIHZlcmVuYSA9ICJhMGM3NGE4OC1iMjkzLTRiMzEtOTJjMC05Njc1MDJiMjgxMzIiLA0KICAgICAgICAgICAgICBhZ3phbSA9ICI1MjE1MmRkYS0wZjU0LTQ2ZDEtYWZmYS02ZGVhODVmODQwZGMiLA0KICAgICAgICAgICAgICBhbmphID0gIjM2ZjlkMDYxLWM1ZTktNGYzMC05MWIyLTgzMzUxZmY0MDI4OCIsDQogICAgICAgICAgICAgICNQMDFGQSA9ICI2MzIxZjdlZi1hOTU4LTQ0YWQtYjhlNS01YWEwNGJjMDA0ZTEiLA0KICAgICAgICAgICAgICBQMDNKSiA9ICJlOWY0NGViNS04OTYyLTQ4OTQtODNjNi03ODMwMjVjNmVhZWEiLA0KICAgICAgICAgICAgICBQMDZTUyA9ICJmOWYyNDgzOC1jODQ0LTQyZDQtODM0My1iMjBlYmRkMjIwZjMiLA0KICAgICAgICAgICAgICBQMDdNRyA9ICI0ZmJmZGRkMC1hMzQ2LTQxYzgtYmU4ZC1mODgwNGI1MDY4ZDMiLA0KICAgICAgICAgICAgICBQMDhVSCA9ICJhODVmMjk5ZS03YTA5LTRiYTctYmMxOS04YTIwMGMyNjg2YzIiLA0KICAgICAgICAgICAgICBQMTBKTCA9ICJkMDVmYTk4NC04ZDNiLTQ0MDUtYjQxNy0yMTFkMWEzZjUwZDYiLA0KICAgICAgICAgICAgICBQMTNOQiA9ICI3NWNjNTI0MC03ODA1LTQ1NTAtYWVhZS04NzNkZjk5ODQ3MTAiKQ0KDQpgYGANCg0KIyMjIFJlcG9ydCBzdWJqZWN0IGFuZCBwZXJpb2Q6DQpgYGB7ciBTZXR0aW5ncywgZWNobz1GQUxTRX0NCg0KIyBTZWxlY3QgdXNlcg0KdXNlcmlkIDwtIHVzZXJzJFAxM05CDQoNCiMgU2V0IHBlcmlvZCBvZiBpbnRlcmVzdA0KZC5zdGFydCA8LSBhcy5QT1NJWGN0KCIyMDE4LTA1LTA1IikgIyB5eXl5LW1tLWRkIA0KZC5zdG9wIDwtIGFzLlBPU0lYY3QoIjIwMTgtMDYtMDIiKQ0KDQpjYXQoIlRoaXMgcmVwb3J0IGlzIGZvciB1c2VyICIsIG5hbWVzKHVzZXJzW3VzZXJzPT11c2VyaWRdKSwgImZvciB0aGUgdGltZSBwZXJpb2QgZnJvbSAiLCBhcy5jaGFyYWN0ZXIoZC5zdGFydCksICIgdG8gIiwgYXMuY2hhcmFjdGVyKGQuc3RvcCkpIA0KDQpgYGANCg0KDQojIyMgSW1wb3J0IGFuZCByZXN0cnVjdHVyZSBkYXRhOg0KT3ZlcnZpZXcgb2YgYXZhaWxhYmxlIGNzdiBmaWxlcyBhbmQgdGhlaXIgY3VycmVudCB1c2Ugc3RhdHVzOg0KDQpGaWxlIHwgRGVzY3JpcHRpb24gfCBTdGF0dXMNCi0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLQ0KImFjdGl2aXR5LmNzdiIgfCBjb2RlZCBhY3Rpdml0eSB0eXBlcyB8IGluIHVzZQ0KImJhdHRlcnkuY3N2IiB8IGNoYXJnaW5nIGxvZyB8IGluIHVzZQ0KImJsdWV0b290aC5jc3YiIHwgLSB8IG5vdCBpbiB1c2UNCiJjYWxsbG9nLmNzdiIgfCBsb2cgb2YgcGhvbmVjYWxscyB8IG5vdCBpbiB1c2UNCiJleHBlcmllbmNlX3NhbXBsaW5nLmNzdiIgfCBhbnN3ZXJzIHRvIGRhaWx5IHNlbGYtcmVwb3J0cyB8IGluIHVzZQ0KImhhcmR3YXJlX2luZm8uY3N2IiB8IC0gfCBub3QgaW4gdXNlDQoibG9jYXRpb24uY3N2IiB8IEdQUyBkYXRhIGZyb20gd2F0Y2ggYW5kIHBob25lIHwgaW4gdXNlDQoic2NyZWVuLmNzdiIgfCBzY3JlZW4gb24vb2ZmIHRyYW5zaXRpb25zIChwaG9uZSkgfCBpbiB1c2UNCiJzbXMuY3N2IiB8IHNtcyBsb2cgfCBub3QgaW4gdXNlDQoic3RlcF9jb3VudC5jc3YiIHwgc3RlcCBjb3VudHMgZnJvbSB3YXRjaCBhbmQgcGhvbmUgfCBpbiB1c2UNCiJ3ZWFyYWJsZS5jc3YiIHwgLSB8IG5vIGxvbmdlciBpbiB1c2UNCiJ3aWZpLmNzdiIgIHwgLSB8IG5vdCBpbiB1c2UNCg0KVGhlIG91dHB1dCBiZWxvdyBjb25maXJtcyB3aGljaCBmaWxlcyBoYXZlIGJlZW4gaW1wb3J0ZWQsIGZvbGxvd2VkIGJ5IHByb2Nlc3Npbmcgc3RlcHMuDQoNCg0KYGBge3IgSW1wb3J0LCBlY2hvPUZBTFNFfQ0KZGF0YXNldHMuYWxsIDwtIGdldC5kYXRhKGZvbGRlciwgbm90LmluLnVzZSkgJT4lIA0KICBsYXBwbHkocmVzdHJ1Y3R1cmUsIHVzZXJpZCwgZC5zdGFydCwgZC5zdG9wKQ0KZGF0YXNldHMuYWxsIDwtIEZpbHRlcihmdW5jdGlvbih4KSAhaXMubnVsbCh4KVsxXSxkYXRhc2V0cy5hbGwpICMgcmVtb3ZlIGFueSBudWxsIGRhdGFmcmFtZXMNCg0KI3Rlc3Q8LWZpbHRlcihkYXRhc2V0cy5hbGwkYWN0aXZpdHksIHVzZXI9PSJmOWYyNDgzOC1jODQ0LTQyZDQtODM0My1iMjBlYmRkMjIwZjMiKQ0KDQpgYGANCg0KDQojIyMgUXVhbGl0eSBjaGVjazogZGF0YSBzb3VyY2UNCkNoZWNrIHdoZXRoZXIgZGF0YSBjb21pbmcgZnJvbSB3YXRjaCwgcGhvbmUgb3IgYm90aCAoYWxzbyBnaXZlcyBkYXRlIG9mIGxhc3QgcmVhZGluZykuIA0KDQpgYGB7ciBRQywgZWNobz1GQUxTRX0NCmZvciAoaSBpbiAxOmxlbmd0aChkYXRhc2V0cy5hbGwpKXsNCiAgaiA8LSBkYXRhc2V0cy5hbGxbW2ldXQ0KICBpZighaXMubnVsbChqKSl7DQogICAgY2F0KCJEYXRhIGluICIsbmFtZXMoZGF0YXNldHMuYWxsKVtpXSwiY29tZXMgZnJvbSAiLCBkaXN0aW5jdChqLGRzb3VyY2UpWywxXSwiXG4iKTsNCiAgICBjYXQoIkxhc3QgcmVhZGluZyBpbiIsbmFtZXMoZGF0YXNldHMuYWxsKVtpXSwiaXMgb24iLGNhcHR1cmUub3V0cHV0KG1heChqJHRpbWVzdGFtcCkpLCJcblxuIik7DQogIH0NCn0NCmBgYA0KDQojIyBWaXN1YWxpc2UgZGF0YToNCg0KPCEtLSB0byBkbyAtLT4NCg0KPCEtLSAqIHJlc29sdmUgd2FybmluZ3MgLS0+DQo8IS0tICogY3VzdG9taXNlIGNvbG91cnMgLS0+DQo8IS0tICogYXhlcyB3aXRoIGRhdGVzOiBvcmRlcnMgbm90IGluIHRpbWUsIGphbnVhcnkgYWZ0ZXIgZmViIChvcmRlcmVkIGJ5IGRheSBub3QgdGFraW5nIG1vbnRoIGludG8gYWNjb3VudCkgLS0+DQoNCmBgYHtyIFBsb3RzLCBlY2hvPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KcmVzdWx0czwtc2hvd19wbG90cyhkYXRhc2V0cy5hbGwsIHRvX3Bsb3QpDQpmb3IoaSBpbiAxOmxlbmd0aChyZXN1bHRzKSl7DQogIHByaW50KHJlc3VsdHNbW2ldXSkNCn0NCg0KYGBgDQoNCg==